package com.briup.oagg.facade.service.model;


import com.briup.oagg.facade.web.vm.model.ModelTrainConfigAddVM;
import com.briup.oagg.facade.web.vm.model.ModelTrainConfigPublishVM;
import com.briup.oagg.facade.web.vm.model.ModelTrainConfigVM;

import java.util.List;

/**
 * 模型训练配置信息业务逻辑接口
 *
 * @author briup
 */
public interface IModelTrainConfigService{

    /**
     * 根据分类模型编号查询对应的分类模型训练配置信息
     * @param modelId 模型编号
     * @param modelType 模型类型
     * @return
     */
    List<ModelTrainConfigVM> findByCondition(String modelType,String modelId);

    /**
     * 根据分类模型训练配置编号查询对应的分类模型训练配置信息
     * @param trainId
     * @return
     */
    ModelTrainConfigVM findByTrainId(String trainId);

    /**
     * 新增模型训练
     * @param vm
     */
    void addModelTrain(ModelTrainConfigAddVM vm);


    /**
     * 开启模型训练
     * @param trainId   模型训练配置编号
     * @param modelId   模型编号
     */
    void beginTrain(String trainId, String modelId);

    /**
     * 发布或取消发布模型训练
     * @param vm
     */
    void updatePublishTrain(ModelTrainConfigPublishVM vm);


    /**
     * 根据训练编号删除对应的训练信息
     * @param trainId
     */
    void deleteByTrainId(String trainId);

}
